package 数据结构和算法.剑指offer.递归和循环.打印从1到最大的n位数;

import 工具.打印.PrintUtil;

import java.util.Arrays;

/**
 * 打印从1到最大的n位数
 * <p>
 * 输入数字 n，按顺序打印出从 1 到最大的 n 位十进制数。
 * 比如输入 3，则打印出 1、2、3 一直到最大的 3 位数 999。
 * 用返回一个整数列表来代替打印
 * n 为正整数
 * <p>
 * 首先可以使用暴力法，直接新建一个数组，长度是10^n-1，然后从头向后遍历前n个数，给加到数组中。
 */
public class Test {
    public static void main(String[] args) {
        PrintUtil.println(Arrays.toString(printNum(5)));
    }

    public static int[] printNum(int n) {
        int arrayLength = (int) (Math.pow(10, n) - 1);
        int[] array = new int[arrayLength];
        for (int i = 0; i < arrayLength; ++i) {
            array[i] = i + 1;
        }

        return array;
    }
}
